補充一下前面沒提過的 3A Pattern
Test-driven development測試驅動開發。是一種開發流程,觀念是「先寫測試,在進入開發工作」。在進行開發工作以前,編寫測試,預先模擬欲測試的情境
step 1 : 確定好需求,列出Test Case.
step 2 : 開始寫 function ,並讓測試全數通過
step 3 : 釐清邏輯並重構 function 看能不能讓效能再優化
有沒有覺得很熟悉,step2 跟 step 3 很像是在寫 leetcode 會出現的畫面,其實 TDD 就像是幫自己出一題 leetCode 讓自己的程式碼通過所有測試達到穩定的狀態。
按照 TDD 流程,假如我今天要做一個判斷密碼格式的 function ,那我的流程應該是
我覺得寫測試跟學英文很像,一開始讀英文可能是為了考試,但後來會認知到學英文最主要是為了溝通與取得資訊,寫測試也一樣,我們並非是為了測試而測試,是為了開發才寫測試的。
補充一下 TDD 的好處,由於整個過程很像在解題,在通過測試的時候就會出現一種莫名的成就感,反而會讓開發流程變得更爽 (斗M?